package com.zmn.oms.model.entity.work;

import com.zmn.common.constant.GlobalConsts;
import com.zmn.common.utils.pager.Pages;
import com.zmn.oms.model.es.ZmnEsFieldType;
import com.zmn.oms.model.es.ZmnToEs;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.List;

/**
 * 类描述： 查询工单
 *
 * @author lujia
 * @date 2018/11/23 20:01
 */
@Data
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class OrderBaseEsQuery extends Pages {

    /**
     * 下单平台
     */
    @ZmnToEs(map = "plat", type = ZmnEsFieldType.Integer)
    private Integer plat;

    /**
     * 服务平台
     */
    @ZmnToEs(map = "platWork", type = ZmnEsFieldType.Integer)
    private Integer platWork;

    /**
     * 平台查询
     */
    @ZmnToEs(map = {"plat", "platWork"}, type = ZmnEsFieldType.Or)
    private Integer queryPlat;

    /**
     * 部门Id
     */
    private Integer deptId;

    /**
     * 组织ID
     */
    private Integer orgId;

    /**
     * 员工Id
     */
    private Integer staffId;

    /**
     * 身份ID
     */
    private Integer identityType;

    /**
     * 员工角色ID集
     */
    private List<Integer> roleIds;

    /**
     * 是否查询警告 1 否 2是
     */
    private Integer queryWarning;

    /**
     * 是否查询
     */
    private Integer noneQuery = GlobalConsts.NO;

    /**
     * 是否查权限
     */
    private Integer permit = GlobalConsts.YES;

    /**
     * 是否查权限-公司
     */
    private Integer permitCompany = GlobalConsts.YES;

    /**
     * 是否查权限-组织架构
     */
    private Integer permitOrganize = GlobalConsts.YES;

    /**
     * 是否查权限-城市
     */
    private Integer permitCity = GlobalConsts.YES;

    /**
     * 是否查权限-渠道
     */
    private Integer permitChannel = GlobalConsts.YES;

    /**
     * 是否查权限-业务类型、业务线
     */
    private Integer permitProduct = GlobalConsts.YES;

    /**
     * 是否查权限-平台下单
     */
    private Integer permitPlatformOrder = GlobalConsts.YES;


    /**
     * 是否查权限-平台服务
     */
    private Integer permitPlatformServer  = GlobalConsts.YES;


    /**
     * 是否查权限-服务商权限
     */
    private Integer permitService = GlobalConsts.YES;


    /**
     * 是否查权限-信息权限
     */
    private Integer permitInformation = GlobalConsts.YES;

    /**
     * 白名单
     */
    private List<String> includes;

    /**
     * 黑名单
     */
    private List<String> excludes;

    /**
     * ip
     */
    private String ip;

    /**
     * 地址脱敏参数
     * 默认true
     */
    private Boolean isSensitiveAddr = false;

    /**
     * 电话号码脱敏
     */
    private Boolean isSensitiveTel = false;


}
